package mpbe.estructura.secciones.hormigon_armado;

/*
 * Este codigo es software libre y se encuentra licenciado 
 * bajo los términos de la Licencia Pública General de GNU versión 3 
 * según se encuentra publicada por la Free Software Foundation.
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Autor: Martin Pablo Bellanca <martin.bellanca@gmail.com>
 * web: http://mpbe.blogspot.com/
 */

import org.json.simple.JSONObject;

import mpbe.geometria.Limites;

/**
 * @author  mpbe
 */
public class SHFlexion {
	public boolean calculo_habilitado = false;
	public boolean recalcular = true;
	/**
	 * @uml.property  name="esfuerzo_ultimos"
	 * @uml.associationEnd  
	 */
	public EsfuerzosUltimos esfuerzo_ultimos = new EsfuerzosUltimos();
	/**
	 * @uml.property  name="recta_ultima"
	 * @uml.associationEnd  
	 */
	public RectaUltima recta_ultima = new RectaUltima();
	/**
	 * @uml.property  name="coef_seguridad"
	 * @uml.associationEnd  
	 */
	public CoefSeguridad coef_seguridad = new CoefSeguridad();
	//public Limites extremos = new Limites();
	public void copyInto(SHFlexion res){
		this.esfuerzo_ultimos.copyInto(res.esfuerzo_ultimos);
		this.recta_ultima.copyInto(res.recta_ultima);
		this.coef_seguridad.copyInto(res.coef_seguridad);
	}
	
	//*****************************************************
	// Funciones JSON
	//*****************************************************
	public void put_JSON(JSONObject jo){
		JSONObject joa = new JSONObject();
		joa = (JSONObject) jo.get("Esfuerzos Ultimos");
		esfuerzo_ultimos.put_JSON(joa);
		joa = (JSONObject) jo.get("Recta Ultima");
		recta_ultima.put_JSON(joa);
		joa = (JSONObject) jo.get("Coef de Seguridad");
		coef_seguridad.put_JSON(joa);
	}
	public JSONObject get_JSONObject() {
		JSONObject jo = new JSONObject();
		jo.put("Esfuerzos Ultimos", esfuerzo_ultimos.get_JSONObject());
		jo.put("Recta Ultima", recta_ultima.get_JSONObject());
		jo.put("Coef de Seguridad", coef_seguridad.get_JSONObject());
		return jo;
	}
	public String get_JSONString(int tab) {
		String res = tabs(tab)+"{\n";
		res += tabs(tab+1)+"\"Esfuerzos Ultimos\":"+esfuerzo_ultimos.get_JSONString()+",\n";
		res += tabs(tab+1)+"\"Recta Ultima\":"+recta_ultima.get_JSONString()+",\n";
		res += tabs(tab+1)+"\"Coef de Seguridad\":"+coef_seguridad.get_JSONString()+"\n";
		res += tabs(tab)+"}";
		return res;
	}
	private String tabs(int can) {
		String str = new String();
		for (int ii=0; ii<can; ii++) str += "   ";
		return str;
	}
	
}
